ZeroMQ/cppzmq Migration to Modern API #11
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
ZeroMQ/cppzmq Migration to Modern API
Summary
This PR migrates the project from deprecated ZeroMQ/cppzmq API to the modern
set()API withzmq::sockopt, eliminating all ZeroMQ-related compiler warnings while maintaining full backward compatibility.Changes
Code Migration
setsockopt()to modernset()API:src/arqnet/sn_network.cpp- 18 occurrencessrc/rpc/zmq_server.cpp- 1 occurrenceZMQ_VERSIONchecksDocumentation
ZEROMQ_MIGRATION_REPORT.md)Results
✅ Zero compilation errors
✅ Zero ZeroMQ/cppzmq warnings (reduced from 37)
✅ Backward compatibility maintained (malbit style preserved)
✅ All binaries built successfully
✅ Compatible with Ubuntu 24.04 and macOS system packages
Compatibility
external/cppzmq/for consistent APITesting
Files Changed
external/cppzmq/zmq.hpp- Updated to latest versionexternal/cppzmq/zmq_addon.hpp- Updated to latest versionsrc/arqnet/sn_network.cpp- Migrated to new API (18 calls)src/rpc/zmq_server.cpp- Migrated to new API (1 call)README.md- Updated with platform-specific versionsZEROMQ_MIGRATION_REPORT.md- Comprehensive migration documentationReview Checklist
Please review:
Related
This migration addresses deprecation warnings from cppzmq 4.7.0+ and ensures compatibility with system ZeroMQ packages on Ubuntu 24.04 and macOS.